export interface ResearchCluster {
  name: string;
  count: number;
  keywords: string[];
  trend: number;
}

export interface ResearchHeatmap {
  region: string;
  value: number;
  papers: number;
  institutions: number;
}

export interface ResearchInstitution {
  name: string;
  papers: number;
  citations: number;
  h_index: number;
  fields: string[];
  collaborations: number;
}

export interface Researcher {
  id: string;
  name: string;
  institution: string;
  papers: number;
  citations: number;
  h_index: number;
  fields: string[];
  collaborators: number;
}

export interface ResearchAnalysis {
  clusters: ResearchCluster[];
  heatmap: ResearchHeatmap[];
  institutions: ResearchInstitution[];
  researchers: Researcher[];
  trends: {
    year: string;
    papers: number;
    citations: number;
  }[];
  collaborations: {
    nodes: {
      id: string;
      name: string;
      type: 'institution' | 'researcher';
      value: number;
    }[];
    links: {
      source: string;
      target: string;
      value: number;
    }[];
  };
  techEvolution: {
    nodes: {
      id: string;
      name: string;
      year: string;
      value: number;
      category: string;
    }[];
    links: {
      source: string;
      target: string;
      value: number;
    }[];
  };
  topicEvolution: {
    topics: {
      name: string;
      data: {
        time: string;
        value: number;
      }[];
    }[];
  };
}

export interface ResearchQuery {
  chainId?: string;
  startYear?: string;
  endYear?: string;
  field?: string;
  institution?: string;
}